package com.sbr.seb.planning.dao.mem.impl;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.sbr.genericdao.mem.MemoryDao;
import com.sbr.seb.entity.livraison.Application;
import com.sbr.seb.entity.planning.DemandeDeLivraison;
import com.sbr.seb.entity.planning.Month;
import com.sbr.seb.planning.dao.DemandeDao;

public class DemandeDaoMemoryImpl extends MemoryDao<DemandeDeLivraison> implements DemandeDao, Serializable {

	@Override
	protected void init() {
		
		DemandeDeLivraison demande = new DemandeDeLivraison();
		demande.setApplication(new Application(1,"Alidade", "1.0"));
		demande.setDeliveryWeek(2);
		logger.info("{}",demande);
		add(demande);
	}

	@Override
	public List<DemandeDeLivraison> findAllByMonth(Month month) {
		List<DemandeDeLivraison> demandeList = new ArrayList<DemandeDeLivraison>();
		
		for (DemandeDeLivraison demande : memoryDB.values()) {
			logger.info("demande.isDemandInMonth(month) = {}",demande.isDemandInMonth(month));
			if (demande.isDemandInMonth(month)) {
				demandeList.add(demande);
				logger.info("isDemandInMonth is true");
			}
		}
		logger.info("demandeList.size = {}",demandeList.size());
		return demandeList;
	}

	
	
}
